/*
 * Nodo.h
 *
 *  Created on: Sep 20, 2010
 *      Author: nicoabie
 */
#ifndef NODO_H_
#define NODO_H_



#include <list>
#include "ArbolBSharpConstantes.h"
#include <iostream>
#include "Registro.h"


using namespace std;


class Nodo {

protected:
	int id;
	int altura;
	int cantidadRegistros;

public:
	static const int  CANTIDAD_BYTES_TAMANIOS_ATRIBUTOS_PRIVADOS_NODO = 4;

	void setId(int id);

	int getId();

	void setAltura(int altura);

	int getAltura();

	void setCantidadRegistros(int cantidadRegistros);

	int getCantidadRegistros();

	virtual int insertarRegistro(Registro* registro)=0;

	virtual string toString()=0;

	virtual void fromString(string stream)=0;

	virtual void partir(Nodo* hojaHermana, long tamanioCubeta, char** keyAscendente, int* idNodoAscendente)=0;

	virtual ~Nodo()=0;

};

#endif /* NODO_H_ */
